package com.systop.asset.service;

import java.util.List;

import com.systop.asset.entity.AssetCategories;
import com.systop.asset.entity.Location;
import com.systop.asset.entity.vo.LocationVo;

/**
 * 资产位置Service接口
 * 
 * @author mc
 * @date 2025-06-25
 */
public interface ILocationService 
{
    /**
     * 查询资产位置
     * 
     * @param id 资产位置主键
     * @return 资产位置
     */
    public Location selectLocationById(Long id);

    /**
     * 查询资产位置列表
     * 
     * @param location 资产位置
     * @return 资产位置集合
     */
    public List<Location> selectLocationList(Location location);

    /**
     * 新增资产位置
     * 
     * @param location 资产位置
     * @return 结果
     */
    public int insertLocation(Location location);

    /**
     * 修改资产位置
     * 
     * @param location 资产位置
     * @return 结果
     */
    public int updateLocation(Location location);

    /**
     * 批量删除资产位置
     * 
     * @param ids 需要删除的资产位置主键集合
     * @return 结果
     */
    public int deleteLocationByIds(Long[] ids);

    /**
     * 删除资产位置信息
     * 
     * @param id 资产位置主键
     * @return 结果
     */
    public int deleteLocationById(Long id);
    /**
     * 获取资产位置树形结构
     * @param location
     * @return
     */
    public List<Location> getLocation(Location location);

    /**
     * 获取所有资产位置
     * @param location
     * @return
     */
    public List<LocationVo> allList(Location location);
}
